# SPDX-License-Identifier: GPL-2.0-only
#
# 1-wire slaves configuration
#

menu "1-wire Slaves"

config W1_SLAVE_THERM
	tristate "Thermal family implementation"
	help
	  Say Y here if you want to connect 1-wire thermal sensors to your
	  wire.

config W1_SLAVE_SMEM
	tristate "Simple 64bit memory family implementation"
	help
	  Say Y here if you want to connect 1-wire
	  simple 64bit memory rom(ds2401/ds2411/ds1990*) to your wire.

config W1_SLAVE_DS2405
	tristate "DS2405 Addressable Switch"
	help
	  Say Y or M here if you want to use a DS2405 1-wire
	  single-channel addressable switch.
	  This device can also work as a single-channel
	  binary remote sensor.

config W1_SLAVE_DS2408
	tristate "8-Channel Addressable Switch (IO Expander) 0x29 family support (DS2408)"
	help
	  Say Y here if you want to use a 1-wire
	  DS2408 8-Channel Addressable Switch device support

config W1_SLAVE_DS2408_READBACK
	bool "Read-back values written to DS2408's output register"
	depends on W1_SLAVE_DS2408
	default y
	help
	  Enabling this will cause the driver to read back the values written
	  to the chip's output register in order to detect errors.

	  This is slower but useful when debugging chips and/or busses.

config W1_SLAVE_DS2413
	tristate "Dual Channel Addressable Switch 0x3a family support (DS2413)"
	help
	  Say Y here if you want to use a 1-wire
	  DS2413 Dual Channel Addressable Switch device support

config W1_SLAVE_DS2406
	tristate "Dual Channel Addressable Switch 0x12 family support (DS2406)"
	select CRC16
	help
	  Say Y or M here if you want to use a 1-wire
	  DS2406 Dual Channel Addressable Switch.  EPROM read/write
	  support for these devices is not implemented.

config W1_SLAVE_DS2423
	tristate "Counter 1-wire device (DS2423)"
	select CRC16
	help
	  If you enable this you can read the counter values available
	  in the DS2423 chipset from the w1_slave file under the
	  sys file system.

	  Say Y here if you want to use a 1-wire
	  counter family device (DS2423).

config W1_SLAVE_DS2805
	tristate "112-byte EEPROM support (DS28E05)"
	help
	  Say Y here if you want to use a 1-wire
	  is a 112-byte user-programmable EEPROM is
          organized as 7 pages of 16 bytes each with 64bit
          unique number. Requires OverDrive Speed to talk to.

config W1_SLAVE_DS2430
	tristate "256b EEPROM family support (DS2430)"
	help
	  Say Y here if you want to use a 1-wire 256bit EEPROM
	  family device (DS2430).
	  This EEPROM is organized as one page of 32 bytes for random
	  access.

config W1_SLAVE_DS2431
	tristate "1kb EEPROM family support (DS2431)"
	help
	  Say Y here if you want to use a 1-wire
	  1kb EEPROM family device (DS2431)

config W1_SLAVE_DS2433
	tristate "4kb EEPROM family support (DS2433)"
	help
	  Say Y here if you want to use a 1-wire
	  4kb EEPROM family device (DS2433).

config W1_SLAVE_DS2433_CRC
	bool "Protect DS2433 data with a CRC16"
	depends on W1_SLAVE_DS2433
	select CRC16
	help
	  Say Y here to protect DS2433 data with a CRC16.
	  Each block has 30 bytes of data and a two byte CRC16.
	  Full block writes are only allowed if the CRC is valid.

config W1_SLAVE_DS2438
	tristate "DS2438 Smart Battery Monitor 0x26 family support"
	help
	  Say Y here if you want to use a 1-wire
	  DS2438 Smart Battery Monitor device support

config W1_SLAVE_DS250X
	tristate "512b/1kb/16kb EPROM family support"
	select CRC16
	help
	  Say Y here if you want to use a 1-wire
	  512b/1kb/16kb EPROM family device (DS250x).

config W1_SLAVE_DS2780
	tristate "Dallas 2780 battery monitor chip"
	help
	  If you enable this you will have the DS2780 battery monitor
	  chip support.

	  The battery monitor chip is used in many batteries/devices
	  as the one who is responsible for charging/discharging/monitoring
	  Li+ batteries.

	  If you are unsure, say N.

config W1_SLAVE_DS2781
	tristate "Dallas 2781 battery monitor chip"
	help
	  If you enable this you will have the DS2781 battery monitor
	  chip support.

	  The battery monitor chip is used in many batteries/devices
	  as the one who is responsible for charging/discharging/monitoring
	  Li+ batteries.

	  If you are unsure, say N.

config W1_SLAVE_DS28E04
	tristate "4096-Bit Addressable 1-Wire EEPROM with PIO (DS28E04-100)"
	select CRC16
	help
	  If you enable this you will have the DS28E04-100
	  chip support.

	  Say Y here if you want to use a 1-wire
	  4kb EEPROM with PIO family device (DS28E04).

	  If you are unsure, say N.

config W1_SLAVE_DS28E17
	tristate "1-wire-to-I2C master bridge (DS28E17)"
	select CRC16
	depends on I2C
	help
	  Say Y here if you want to use the DS28E17 1-wire-to-I2C master bridge.
	  For each DS28E17 detected, a new I2C adapter is created within the
	  kernel. I2C devices on that bus can be configured to be used by the
	  kernel and userspace tools as on any other "native" I2C bus.

	  This driver is also available as a module. If so, the module
	  will be called w1_ds28e17.

	  If you are unsure, say N.

endmenu
